﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Matrix.MaKaYunShang.Model.MatrixCloudApi
{
    /// <summary>
    /// 卡卷时间类型
    /// </summary>
    public enum MxApiCardDateType
    {
        [Description("表示固定时长（自领取后按天算")]
        DATE_TYPE_FIX_TERM,
        [Description("表示固定日期区间")]
        DATE_TYPE_FIX_TIME_RANGE,
        [Description("永久有效类型(会员卡专属)")]
        DATE_TYPE_PERMANENT
    }

    /// <summary>
    ///     code码展示类型
    /// </summary>
    public enum MxApiEnumShowCodeType
    {
        /// <summary>
        ///     文本
        /// </summary>
        [Description("文本")]
        CODE_TYPE_TEXT = 0,

        /// <summary>
        ///     一维码
        /// </summary>
        [Description("一维码")]
        CODE_TYPE_BARCODE = 1,

        /// <summary>
        ///     二维码
        /// </summary>
        [Description("二维码")]
        CODE_TYPE_QRCODE = 2,

        /// <summary>
        ///     二维码无code显示
        /// </summary>
        [Description("二维码无code显示")]
        CODE_TYPE_ONLY_QRCODE = 3,

        /// <summary>
        ///     一维码无code显示
        /// </summary>
        [Description("一维码无code显示")]
        CODE_TYPE_ONLY_BARCODE = 4,

        /// <summary>
        ///     不显示code和条形码类型 须开发者传入"立即使用"自定义cell完成线上券核销
        /// </summary>
        [Description("不显示code和条形码类型")]
        CODE_TYPE_NONE = 5,
    }

    public enum MxApiEnumOperation
    {
        // 
        /// <summary>
        ///     等于
        /// </summary>
        [Description("等于")]
        Equal = 0,
        // 
        /// <summary>
        ///     大于
        /// </summary>
        [Description("大于")]
        Greater = 1,
        // 
        /// <summary>
        ///     小于
        /// </summary>
        [Description("小于")]
        Lessthan = 2,
        // 
        /// <summary>
        ///     大于等于
        /// </summary>
        [Description("大于等于")]
        GreaterEqual = 3,
        // 
        /// <summary>
        ///     小于等于
        /// </summary>
        [Description("小于等于")]
        LessthanEqual = 4,
        // 
        /// <summary>
        ///     不等于
        /// </summary>
        [Description("不等于")]
        NoEqual = 5
    }

    /// <summary>
    /// 微信卡包颜色
    /// </summary>
    public enum MxApiWechatCardColor
    {
        [Description("#63b359")]
        Color010 = 0,

        [Description("#2c9f67")]
        Color020 = 1,

        [Description("#509fc9")]
        Color030 = 2,

        [Description("#5885cf")]
        Color040 = 3,

        [Description("#9062c0")]
        Color050 = 4,

        [Description("#d09a45")]
        Color060 = 5,

        [Description("#e4b138")]
        Color070 = 6,

        [Description("#ee903c")]
        Color080 = 7,

        [Description("#f08500")]
        Color081 = 8,

        [Description("#a9d92d")]
        Color082 = 9,

        [Description("#dd6549")]
        Color090 = 10,

        [Description("#cc463d")]
        Color100 = 11,

        [Description("#cf3e36")]
        Color101 = 12,

        [Description("#5e6671")]
        Color102 = 13,
    }

    /// <summary>
    /// 微信普通卡券类别
    /// </summary>
    public enum MxApiWechatCommonCardType
    {
        [Description("折扣券")]
        DISCOUNT = 0,

        [Description("代金券")]
        CASH = 1,

        [Description("兑换券")]
        GIFT = 2,

        [Description("优惠券")]
        GENERAL_COUPON = 3,

        [Description("团购券")]
        GROUPON = 4
    }

    /// <summary>
    /// 微信朋友卡券类别
    /// </summary>
    public enum MxApiWechatFriendCardType
    {
        [Description("代金券")]
        CASH,

        [Description("兑换券")]
        GIFT
    }

    /// <summary>
    /// 商家服务类型
    /// </summary>
    public enum MxApiWechatCardBussinessService
    {
        [Description("外卖服务")]
        BIZ_SERVICE_DELIVER,

        [Description("停车位")]
        BIZ_SERVICE_FREE_PARK,

        [Description("可带宠物")]
        BIZ_SERVICE_WITH_PET,

        [Description("免费wifi")]
        BIZ_SERVICE_FREE_WIFI,
    }

    /// <summary>
    /// 卡券状态
    /// </summary>
    public enum MxApiWechatCommonCardStatus
    {
        [Description("待审核")]
        CARD_STATUS_NOT_VERIFY,

        [Description("审核失败")]
        CARD_STATUS_VERIFY_FAIL,

        [Description("通过审核")]
        CARD_STATUS_VERIFY_OK,

        [Description("卡券被商户删除")]
        CARD_STATUS_DELETE,

        [Description("在公众平台投放过的卡券")]
        CARD_STATUS_DISPATCH
    }

    /// <summary>
    /// 卡券CODE状态
    /// </summary>
    public enum MxApiWechatCommonCardCodeStatus
    {
        [Description("正常")]
        NORMAL,

        [Description("已核销")]
        CONSUMED,

        [Description("已过期")]
        EXPIRE,

        [Description("转赠中")]
        GIFTING,

        [Description("转赠超时")]
        GIFT_TIMEOUT,

        [Description("已删除")]
        DELETE,

        [Description("已失效")]
        UNAVAILABLE,

        [Description("未被添加或被转赠领取")]
        INVALID_SERIAL_CODE
    }

    /// <summary>
    /// 卡券创建来源
    /// </summary>
    public enum MxApiCardCondSource
    {
        [Description("公众平台创建的卡券数据")]
        MpCreated = 0,

        [Description("API创建的卡券数据")]
        ApiCreated = 1
    }

    /// <summary>
    /// 卡券状态（内部使用，表LuckWxCardCode-->字段LocalCodeStatus）
    /// </summary>
    public enum MxApiLuckWxCardCodeLocalStatus
    {
        [Description("可使用")]
        CanUse = 0,

        [Description("已使用")]
        Used = 1,

        [Description("已删除")]
        Delete = 2,

        [Description("已转增")]
        Given = 3
    }

    public enum MxApiWechatMediaFileType
    {
        [Description("图片")]
        Image = 0,

        [Description("语音")]
        Voice = 1,

        [Description("视频")]
        Video = 2,

        [Description("缩略图")]
        Thumb = 3
    }

    public enum MxApiWechatBatchMsgType
    {
        [Description("图文消息")]
        Mpnews = 0,

        [Description("文本")]
        Text = 1,

        [Description("语音")]
        Voice = 2,

        [Description("图片")]
        Image = 3,

        [Description("视频")]
        Mpvideo = 4,

        [Description("卡券")]
        Wxcard = 5
    }

    public enum MxApiWechatMsgTemplateType
    {
        [Description("购买成功通知（餐饮）")]
        NoteceBuySuccess = 0,

        [Description("消费通知（IT科技 - 互联网|电子商务）")]
        NoticeConsumed = 1,

        [Description("餐饮支付成功通知(IT科技 - 互联网|电子商务)")]
        NotecePaySuccess = 2,

        [Description("订单确认通知")]
        OrderAlertNotify = 3
    }

    /// <summary>
    /// 微信会员卡自定义字段名称类型
    /// </summary>
    public enum MxApiWechatMemCardCustomFieldNameType
    {
        [Description("等级")]
        FIELD_NAME_TYPE_LEVEL = 0,

        [Description("优惠券")]
        FIELD_NAME_TYPE_COUPON = 1
    }

    /// <summary>
    /// 微信支付交易类型（trade_type）
    /// </summary>
    public enum WxPayTradeType
    {
        [Description("公众号支付")]
        JSAPI = 0,
        [Description("原生扫码支付")]
        NATIVE = 1,
        [Description("app支付")]
        APP = 1,
        [Description("刷卡支付")]
        MICROPAY = 1
    }
}
